using System.Net.DnsToolkit.Packet;

namespace System.Net.DnsToolkit.Serializer {
    /// <summary>
    /// IRecordWriterProvider provider IRecordWriter for IRecord.
    /// eg. RecordAWriter for QTypeEnum.A, RecordAAAWriter for QTypeEnum.AAAA
    /// </summary>
    /// <typeparam name="T"></typeparam>
    public interface IRecordWriterProvider<T> 
    {

        /// <summary>
        /// Provide a IRecordWriter for the specified QTypeEnum
        /// </summary>
        /// <param name="qTypeEnum"></param>
        /// <returns></returns>
        IRecordWriter<T> Provide(QTypeEnum qTypeEnum);

    }
}